<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //后期 1、深拷贝   2、查找dom树
      // 递归 函数自身调用自身 递归循环
      function fn1(a) {
        return a
      }
      function fn2(a) {
        return a * fn1(1)
      }
      function fn3(a) {
        return a * fn2(2)
      }
      //   function jiecheng(num) {
      //     if (num == 1) {
      //       return 1
      //     } //出口
      //     return num * jiecheng(num - 1)
      //   }
      //   //   res = fn3(3)
      //   var res = jiecheng(5)
      //   console.log(res)

      // function fn(){  //死递归
      //     console.log('fn');
      //     fn()
      // }
      // fn()

      //可以用循环和递归   优先使用循环
      //   var num = 0
      //   function fn() {
      //     console.log('fn')
      //     num++
      //     if (num < 5) {
      //       fn()
      //     }
      //   }
      //   fn()

      //斐波那契数列
      // 1           1          2     3    5         8      13 。。。。
      //f(1)        f(2)      f(3)   f(4) f(5)      f(6)

      function fn(num){
        if (num == 1 || num == 2){
          return 1
        }
        return fn(num - 2) + fn(num - 1)
      }
      var str = ''
      for (let i = 1; i <= 20; i++) {
        str += fn(i) + ' '
      }
      console.log(str)
    </script>
  </body>
</html>
